import Vue from 'vue'
import Router from 'vue-router'
import Login from './components/Login.vue'
import Home from './components/Home.vue'
import Welcome from './components/Welcome.vue'
import Users from './components/user/Users.vue'

Vue.use(Router)

const router = new Router({
    routes: [
        {
            path: '/',
            // 重定向路由
            redirect: '/login'
        },
        {
            path: '/login',
            // 指定路由名称
            component: Login
        },
        {
            path: '/home',
            component: Home,
            redirect: '/welcome',
            children: [
                { path: '/welcome', component: Welcome },
                { path: '/users', component: Users }
            ]
        }
    ]
})

//挂载路由导航守卫
router.beforeEach((to, from, next) => {
    // to 将要访问的路径
    // from 从哪个路径而来
    // next 是一个函数,表示放行
    // next() 直接放行 next('/login') 表示强制跳转到login
    if (to.path === '/login') return next();
    //获取token
    const tokenStr = window.sessionStorage.getItem('token')
    // 判断是否有token如果没有,强制跳转到登陆页面,如果有直接放行
    if (!tokenStr) return next('/login')
    next()
})

export default router